# Libraries
import torch
import glob
import re
import os
import ast
import random
import numpy as np
import pandas as pd
import seaborn as sns
import shutil as sh
from pathlib import Path
import PIL.Image
import PIL.ImageDraw
import matplotlib.pyplot as plt
%matplotlib inline
from tqdm.auto import tqdm
from IPython.display import Image, clear_output
# Clone the yoloV5 repo
#%%time
!git clone https://github.com/ultralytics/yolov5 # clone repo
!pip install -qr yolov5/requirements.txt # install dependencies
!cp yolov5/requirements.txt ./
Cloning into 'yolov5'... remote: Enumerating objects: 12390, done. remote: Counting objects: 100% (7/7), done. remote: Compressing objects: 100% (6/6), done. remote: Total 12390 (delta 1), reused 7 (delta 1), pack-reused 12383 Receiving objects: 100% (12390/12390), 11.51 MiB | 11.68 MiB/s, done. Resolving deltas: 100% (8622/8622), done.
# Location of dataset
base_path = Path('oil_storage_data')
base_path_str = 'oil_storage_data'
# List all images in the folder
image_list = list(base_path.glob('images/*.jpg'))
# Create a list of image ids
image_ids = pd.DataFrame(image_list).rename(columns={0:"image_id"})
# Show a random image
pickone = random.choice(image_list)
img = PIL.Image.open(pickone)
filename = "oil-storage-sample.jpg"
img.save(filename)
display(img)